package titt.io.encoding.stringable;

import titt.io.encoding.Encoder;
import titt.type.Type;
import titt.util.Bytes;

public class StringFromBytesEncoder implements StringEncoder {

	private final Encoder e;
	
	public StringFromBytesEncoder(Encoder e) {
		this.e = e;
	}
	
	@Override
	public String encodeToString(Type t, Object o) {
		return Bytes.asString(e.encode(t, o));
	}

	@Override
	public boolean isStringEncodeable(Type t) {
		return e.isEncodeable(t);
	}

	@Override
	public byte[] encode(Type t, Object o) {
		return e.encode(t, o);
	}

	@Override
	public boolean isEncodeable(Type t) {
		return e.isEncodeable(t);
	}

}
